// site.isscloud.project.mapper.PjStatsTemperatureMinuteMapper
package site.isscloud.project.mapper;

import java.util.Date;
import java.util.List;
import site.isscloud.project.domain.PjStatsTemperatureMinute;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;

/**
 * 分钟温度统计Mapper接口
 */
public interface PjStatsTemperatureMinuteMapper {
    /**
     * 根据统计时间查询温度统计数据
     *
     * @param statTime 统计时间
     * @return 温度统计集合
     */
    public List<PjStatsTemperatureMinute> selectByStatTime(Date statTime);

    int insertPjStatsTemperatureMinute(PjStatsTemperatureMinute stats);

    int selectCountByDeviceChannelAndTime(@Param("deviceNo") String deviceNo,
                                          @Param("channelNo") Integer channelNo,
                                          @Param("statTime") LocalDateTime statTime);

    List<PjStatsTemperatureMinute> selectByDeviceChannelAndHour(@Param("deviceNo") String deviceNo,
                                                                @Param("channelNo") Integer channelNo,
                                                                @Param("statTime") LocalDateTime statTime);

    List<PjStatsTemperatureMinute> selectTrendDataByDeviceChannelAndTimeRange(
            @Param("deviceNo") String deviceNo,
            @Param("channelNo") Integer channelNo,
            @Param("startTime") String startTime,
            @Param("endTime") String endTime);

    /**
     * 根据设备号、通道号和时间范围查询分钟统计数据
     */
    List<PjStatsTemperatureMinute> selectByDeviceChannelAndTimeRange(
            @Param("deviceNo") String deviceNo,
            @Param("channelNo") Integer channelNo,
            @Param("startTime") String startTime,
            @Param("endTime") String endTime);
}